package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excels;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 指标采集对象 emp_norm_collect
 *
 * @author zsl
 * @date 2024-04-15
 */
@Data
@TableName(value = "emp_norm_collect")
public class EmpNormCollect extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @Excel(name = "主键ID", prompt = "非必填", width = 12, height = 32, sort = 1)
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 采集时间（年）
     */
    @Excel(name = "采集时间（年）", prompt = "输入年份，例如：2024", sort = 2)
    @TableField(value = "`year`")
    private String year;


    /**
     * 指标体系ID（外键）
     */
    private Long systemId;


    /**
     * 采集区域ID（外键）
     */
    private Long areaId;

    /**
     * 采集的值（数据）
     */
    @Excel(name = "采集的值", sort = 5)
    private String collectValue;

    /**
     * 阈值范围
     */
    @Excel(name = "阈值范围", sort = 6)
    private String thresholdScope;

    /**
     * 阈值范围描述
     */
    @Excel(name = "阈值范围描述", sort = 7)
    @TableField(value = "`describe`")
    private String describe;

    /**
     * 指标体系
     */
    @Excels({
            @Excel(name = "指标属性名称", targetAttr = "name", type = Excel.Type.EXPORT, sort = 3)
    })
    @TableField(exist = false)
    private EmpNormSystem empNormSystem;

    /**
     * 行政区域对象
     */
    @Excels({
            @Excel(name = "行政区域名称", targetAttr = "name", type = Excel.Type.EXPORT, sort = 4)
    })
    @TableField(exist = false)
    private EmpArea empArea;

    @Excel(name = "指标属性名称", type = Excel.Type.IMPORT, prompt = "若名称匹配不上，将自动忽略该条记录，导入之前请认真核对数据", sort = 3)
    @TableField(exist = false)
    private String attributeName;
    @Excel(name = "行政区域名称", type = Excel.Type.IMPORT, prompt = "若名称匹配不上，将自动忽略该条记录，导入之前请认真核对数据", sort = 4)
    @TableField(exist = false)
    private String areaName;

    /**
     * 采集下拉卡展示专用
     */
    @TableField(exist = false)
    private String collectOptionName;
}
